package com.cictec.middleware.tde.rm.protocol.rm.message;

import java.util.Date;

import com.cictec.middleware.tde.rm.protocol.TerminalMessage;

/**
 * 锐明 0x01 连接请求
 * 
 * @author Administrator
 *
 */
public class Rm0x01TerminalMessage extends TerminalMessage {

	private static final long serialVersionUID = -1332591279171476378L;

	/** 产生时间 【4 字节】【数据产生的时间】 */
	private Date createTime;
	/** 终端出厂序列号 【10 字节】 */
	private String serialNumber; // 终端出厂序列号
	/** 上次断开原因 【1 字节】 【0x01 正常关机、0x02 异常关机、0x03 网络异常断开】 */
	private int lastCloseReason = 0;
	/** SIM 卡号 【8 字节】【SIM 卡序列号】 */
	private String sim;
	/** 驾驶员 ID 【4 字节】 */
	private long driverId;

	/** 当天电源重启次数 【2 字节】【超出时用全 0xFF 表示】 */
	private int restartTimes = 0;
	/** 网络连接次数 【2 字节】【本次电源开启后网络连接次数，电源重启后清 0，超出时用全 0xFF 表示】 */
	private int netConnectTimes = 0;
	/** 预留 【2字节】 */
	private int reserved;

	public Rm0x01TerminalMessage(Header header) {
		super(header);
	}

	/** 产生时间 【4 字节】【数据产生的时间】 */
	public Date getCreateTime() {
		return createTime;
	}

	/** 产生时间 【4 字节】【数据产生的时间】 */
	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	/** 终端出厂序列号 【10 字节】 */
	public String getSerialNumber() {
		return serialNumber;
	}

	/** 终端出厂序列号 【10 字节】 */
	public void setSerialNumber(String serialNumber) {
		this.serialNumber = serialNumber;
	}

	/** 上次断开原因 【1 字节】 【0x01 正常关机、0x02 异常关机、0x03 网络异常断开】 */
	public int getLastCloseReason() {
		return lastCloseReason;
	}

	/** 上次断开原因 【1 字节】 【0x01 正常关机、0x02 异常关机、0x03 网络异常断开】 */
	public void setLastCloseReason(int lastCloseReason) {
		this.lastCloseReason = lastCloseReason;
	}

	/** SIM 卡号 【8 字节】【SIM 卡序列号】 */
	public String getSim() {
		return sim;
	}

	/** SIM 卡号 【8 字节】【SIM 卡序列号】 */
	public void setSim(String sim) {
		this.sim = sim;
	}

	/** 驾驶员 ID 【4 字节】 */
	public long getDriverId() {
		return driverId;
	}

	/** 驾驶员 ID 【4 字节】 */
	public void setDriverId(long driverId) {
		this.driverId = driverId;
	}

	/** 当天电源重启次数 【2 字节】【超出时用全 0xFF 表示】 */
	public int getRestartTimes() {
		return restartTimes;
	}

	/** 当天电源重启次数 【2 字节】【超出时用全 0xFF 表示】 */
	public void setRestartTimes(int restartTimes) {
		this.restartTimes = restartTimes;
	}

	/** 网络连接次数 【2 字节】【本次电源开启后网络连接次数，电源重启后清 0，超出时用全 0xFF 表示】 */
	public int getNetConnectTimes() {
		return netConnectTimes;
	}

	/** 网络连接次数 【2 字节】【本次电源开启后网络连接次数，电源重启后清 0，超出时用全 0xFF 表示】 */
	public void setNetConnectTimes(int netConnectTimes) {
		this.netConnectTimes = netConnectTimes;
	}

	/** 预留 【2字节】 */
	public int getReserved() {
		return reserved;
	}

	/** 预留 【2字节】 */
	public void setReserved(int reserved) {
		this.reserved = reserved;
	}

}
